The present invention relates to a bus interface unit having a cycle queue for preventing deadlock, for performing interfacing operation between an external chip set and internal units in a microprocessor.
A bus interface unit generally carries out an arbitration, that is, the bus interface unit receives requests for a bus cycle from respective units of a processor core and transmits the received requests to the outside thereof. In some events, an external system may request to suspend the cycle in process or request to resume the cycle. In such a case, the bus interface unit allows the cycle to be suspended or resumed in an efficient way.
Also, in order to overcome the deadlock frequently occurring in the case of the presence of several masters, a kind of a backoff function must be supported. The system equipped with the backoff function can assure the suspension and resumption of the cycle in process.
Here, the deadlock is generated when several units desire shared resources owned by the units different from one another, but any unit does not back off its own shared resource. In such a condition, no operation occurs.
In order to overcome the deadlock condition, one of the units backs off and hands over the shared resources owned by itself to another unit, so that it can complete its own task using the shared resources released by the unit having taken over the shared resources after completing a task using the shared resources.
The system having several masters compulsorily requires the backoff function for preventing the probable deadlock. Also, it is necessary to allow the backoff unit to resume the suspended cycle in an effective manner.